/**
 * 文本处理工具类
 */

/**
 * 高亮搜索关键词
 * @param {string} text - 原始文本
 * @param {string} keyword - 搜索关键词
 * @param {string} highlightClass - 高亮样式类名，默认为 'highlight'
 * @returns {string} 包含高亮标签的HTML字符串
 */
export function highlightKeyword(text, keyword, highlightClass = 'highlight') {
    if (!text || !keyword) {
        return text || ''
    }
    
    // 转义特殊字符，避免正则表达式错误
    const escapedKeyword = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
    
    // 创建不区分大小写的正则表达式
    const regex = new RegExp(`(${escapedKeyword})`, 'gi')
    
    // 替换匹配的关键词为高亮标签
    return text.replace(regex, `<span class="${highlightClass}">$1</span>`)
}

/**
 * 检查文本是否包含关键词（不区分大小写）
 * @param {string} text - 要检查的文本
 * @param {string} keyword - 搜索关键词
 * @returns {boolean} 是否包含关键词
 */
export function containsKeyword(text, keyword) {
    if (!text || !keyword) {
        return false
    }
    return text.toLowerCase().includes(keyword.toLowerCase())
}